# Generated automatically from Makefile.in by configure.
#
# Makefile.in for UAE
#


CC        = gcc.exe
CPP       = gcc.exe -E
LDFLAGS   = -Zexe -s -Zmt -Zcrtdll -Zsysv-signals -Zbin-files
CFLAGS    = -O3 -mpentium -fomit-frame-pointer  -Wall -Wno-unused -Wno-format -W -Wmissing-prototypes -Wstrict-prototypes -DGCCCONSTFUNC="__attribute__((const))" -DUSE_UNDERSCORE -fno-exceptions -DUNALIGNED_PROFITABLE -fno-strength-reduce -DREGPARAM="__attribute__((regparm(3)))" -DX86_ASSEMBLY -DUSE_ZFILE -D__inline__=inline -D__ST_MT_ERRNO__
TARGET    = os2.pm
LIBRARIES = -lsocket -lbsd -lmmpm2
MATHLIB   = -lm
RESFILE   = osdep/uae2rc.rc
RESOBJS   = uae2rc.res

NO_SCHED_CFLAGS = -mno-schedule-prologue

.SUFFIXES: .o .c .h .m .i .S .rc .res

.SECONDARY: p2c.c p2c.h cpuemu.c cpustbl.c cputbl.h

INCLUDES=-I. -I../src/include/

OBJS = main.o newcpu.o memory.o cpufast.o custom.o cia.o serial.o blitter.o \
       autoconf.o ersatz.o filesys.o hardfile.o keybuf.o expansion.o zfile.o \
       fpp.o readcpu.o cpudefs.o gfxutil.o gfxlib.o blitfunc.o blittable.o \
       disk.o audio.o compiler.o uaelib.o drawing.o picasso96.o cpustbl.o \
       uaeexe.o bsdsocket.o missing.o machdep/support.o \
       fsusage.o cfgfile.o native2amiga.o fsdb.o fsdb_unix.o \
       p2c_x86.o nogui.o debug.o scsi-none.o osdep/joyos2.o \
       osdep/joystick.o sounddep/sound.o machdep/my-md-X86.O \
       osdep/filedlg.o osdep/notebook.o osdep/os2dive.o

all: $(TARGET)

os2.pm: progs

progs: uae readdisk

readdisk: readdisk.o missing.o
	$(CC) readdisk.o missing.o -o readdisk $(LDFLAGS) $(DEBUGFLAGS)

uae: $(OBJS) $(RESOBJS)
	$(CC) $(OBJS) $(RESOBJS) -o uae $(LDFLAGS) $(DEBUGFLAGS) $(LIBRARIES) $(MATHLIB)
	-emxbind -ep uae.exe

$(RESOBJS): $(RESFILE)
	rc -r $(RESFILE) $(RESOBJS) -i osdep

clean:
	-rm -f $(OBJS) $(RESOBJS) *.o uae readdisk
	-rm -f gencpu genblitter blit.h genp2c cpudefs.c cpuopti
	-rm -f cpuemu.c build68k cputmp.s cpufast*.s cpustbl.c cputbl.h
	-rm -f blitfunc.c blitfunc.h blittable.c p2c.c p2c.h p2c_x86.S
	-rm -f core *.exe

halfclean:
	-rm -f $(OBJS) $(RESOBJS)

blit.h: genblitter
	genblitter i >blit.h
blitfunc.c: genblitter blitfunc.h
	genblitter f >blitfunc.c
blitfunc.h: genblitter
	genblitter h >blitfunc.h
blittable.c: genblitter blitfunc.h
	genblitter t >blittable.c

genblitter: genblitter.o blitops.o
	$(CC) $(LDFLAGS) -o genblitter genblitter.o blitops.o
build68k: build68k.o
	$(CC) $(LDFLAGS) -o build68k build68k.o
cpuopti: cpuopti.o
	$(CC) $(LDFLAGS) -o cpuopti cpuopti.o
gencpu: gencpu.o readcpu.o cpudefs.o missing.o
	$(CC) $(LDFLAGS) -o gencpu gencpu.o readcpu.o missing.o cpudefs.o
genp2c: genp2c.o
	$(CC) $(LDFLAGS) -o genp2c genp2c.o

custom.o: blit.h p2c.h
p2c.o: p2c.h

p2c.h: genp2c
	genp2c H >p2c.h
p2c.c: genp2c
	genp2c C >p2c.c
p2c_x86.S: genp2c
	genp2c x86 >p2c_x86.S

cpudefs.c: build68k ../src/table68k
	build68k <../src/table68k >cpudefs.c

cpuemu.c: gencpu
	gencpu

# gencpu also creates cpustbl.c and cputbl.h
cpustbl.c: cpuemu.c
cputbl.h: cpuemu.c

cpufast.s: cpuemu.c cpuopti
	$(CC) $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp.s
	cpuopti <cputmp.s >$@
	rm cputmp.s

osdep/beos.o: osdep/beos.cpp
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) osdep/beos.cpp -o osdep/beos.o

.rc.res:
	$(WRC) $(INCLUDES) $<
.m.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $<
.c.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
.c.s:
	$(CC) $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
.c.i:
	$(CC) $(INCLUDES) -E $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< > $@
.S.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@

# Saves recompiling...
touch:
	touch *.o; touch build68k; touch cpudefs.c; touch cpudefs.o; touch gencpu; touch cpuemu.c; touch cpuopti.o cpuopti cpuemu.o cpufast.s cpufast.o

build68k.o: include/readcpu.h
readcpu.o: include/readcpu.h

main.o: config.h
cia.o: config.h include/events.h
custom.o: config.h include/events.h blit.h
newcpu.o: config.h include/events.h
autoconf.o: config.h
expansion.o: config.h
xwin.o: config.h
svga.o: config.h
audio.o: config.h include/events.h
memory.o: config.h
debug.o: config.h
fpp.o: config.h
ersatz.o: config.h
filesys.o: config.h
execlib.o: config.h
disk.o: config.h include/events.h
blitter.o: config.h include/events.h blit.h

# sam: this is for people with low memory. (is there a way do do this with a single rule ?)
cpufast1.s: cpuemu.c cpuopti
	$(CC) -DPART_1 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp1.s
	cpuopti <cputmp1.s >$@
	rm cputmp1.s
cpufast2.s: cpuemu.c cpuopti
	$(CC) -DPART_2 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp2.s
	cpuopti <cputmp2.s >$@
	rm cputmp2.s
cpufast3.s: cpuemu.c cpuopti
	$(CC) -DPART_3 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp3.s
	cpuopti <cputmp3.s >$@
	rm cputmp3.s
cpufast4.s: cpuemu.c cpuopti
	$(CC) -DPART_4 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp4.s
	cpuopti <cputmp4.s >$@
	rm cputmp4.s
cpufast5.s: cpuemu.c cpuopti
	$(CC) -DPART_5 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp5.s
	cpuopti <cputmp5.s >$@
	rm cputmp5.s
cpufast6.s: cpuemu.c cpuopti
	$(CC) -DPART_6 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp6.s
	cpuopti <cputmp6.s >$@
	rm cputmp6.s
cpufast7.s: cpuemu.c cpuopti
	$(CC) -DPART_7 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp7.s
	cpuopti <cputmp7.s >$@
	rm cputmp7.s
cpufast8.s: cpuemu.c cpuopti
	$(CC) -DPART_8 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp8.s
	cpuopti <cputmp8.s >$@
	rm cputmp8.s

cpuemu1.o: cpuemu.c
	$(CC) -DPART_1 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu2.o: cpuemu.c
	$(CC) -DPART_2 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu3.o: cpuemu.c
	$(CC) -DPART_3 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu4.o: cpuemu.c
	$(CC) -DPART_4 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu5.o: cpuemu.c
	$(CC) -DPART_5 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu6.o: cpuemu.c
	$(CC) -DPART_6 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu7.o: cpuemu.c
	$(CC) -DPART_7 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu8.o: cpuemu.c
	$(CC) -DPART_8 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(DEBUGFLAGS) $< -o $@
